﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace HA.MT3DMS.DomainLayer
{

    /// <summary>
    /// 存放MT3D生成的文件的数据信息
    /// </summary>
    public class MT3DOutputResult
    {

        #region 构造函数 暂时使用的是第二个构造函数

        ///// <summary>
        ///// 
        ///// </summary>
        ///// <param name="speciesNum">污染物个数</param>
        ///// <param name="stressPeriodNum">应力期的总个数</param>
        ///// <param name="timeStepNum">时间步长的总个数</param>
        ///// <param name="transStepNum">传输步长的总个数</param>
        //public MT3DOutputResult(int speciesNum,int stressPeriodNum,int timeStepNum,int transStepNum)
        //{

        //    this._allSpeciesMT3DResultList = new List<MT3DSpeciesResult>();

        //    //this._speciesNumber  = speciesNum;
        //    //this._stressPeriodNum  = stressPeriodNum;
        //    //this._timeStepNum  = timeStepNum;
        //    //this._transStepNum  = transStepNum;
        
        //}

        /// <summary>
        /// 
        /// </summary>
        /// <param name="speciesNum">污染物个数</param>
        public MT3DOutputResult(int speciesNum)
        {

            this._allSpeciesMT3DResultList = new List<MT3DSpeciesResult>();

            this._speciesNumber = speciesNum;
          

        }


        #endregion


        #region 字段属性

        List<MT3DSpeciesResult> _allSpeciesMT3DResultList;
        /// <summary>
        /// 所有污染物输出地文件的数据信息 集合
        /// </summary>
        public List<MT3DSpeciesResult> AllSpeciesMT3DResultList
        {
            get { return _allSpeciesMT3DResultList; }
            //set { _allSpeciesMT3DResult = value; }
        }


        int _speciesNumber;
        /// <summary>
        /// 污染物个数
        /// </summary>
        public int SpeciesNumber
        {
            get { return _speciesNumber; }
            //set { _speciesNumber = value; }
        }






        //int _stressPeriodNum;
        ///// <summary>
        ///// 应力期个数
        ///// </summary>
        //public int StressPeriodNum
        //{
        //    get { return _stressPeriodNum; }
        //    //set { _stressPeriodNum = value; }
        //}

        //int _timeStepNum;
        ///// <summary>
        ///// 时间步长个数
        ///// </summary>
        //public int TimeStepNum
        //{
        //    get { return _timeStepNum; }
        //    //set { _timeStepNum = value; }
        //}

        //int _transStepNum;
        ///// <summary>
        ///// 传输步长个数
        ///// </summary>
        //public int TransStepNum
        //{
        //    get { return _transStepNum; }
        //    //set { _transStepNum = value; }
        //}




        #endregion


        #region 内部方法



        #endregion


        #region 公有方法

        public void AddSpeciesResult(MT3DSpeciesResult mt3dSpeciesResult)
        {

            if (this._allSpeciesMT3DResultList != null)
            {
                this._allSpeciesMT3DResultList.Add(mt3dSpeciesResult);

            }
            else
            {
                this._allSpeciesMT3DResultList = new List<MT3DSpeciesResult>();
                this._allSpeciesMT3DResultList.Add(mt3dSpeciesResult);
            
            }



        }

        #endregion






    }
}

